import 'tooltip.dart';

import 'package:json_annotation/json_annotation.dart';

part 'grid.g.dart';

@JsonSerializable(includeIfNull: false, explicitToJson: true)
class Grid {
  var id;
  var show;
  var zlvel;
  var z;
  var left; //left value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'; and it can also be 'left', 'center', or 'right'.
  var top; //top value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'; and it can also be 'top', 'middle', or 'bottom'.
  var right; //right value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'.
  var bottom; //bottom value can be instant pixel value like 20; it can also be a percentage value relative to container width like '20%'.
  var width; //varber or auto
  var height; //varber or auto
  var containLabel;
  var backgroundColor;
  var borderColor;
  var borderWidth;
  var shadowBlur;
  var shadowColor;
  var shadowOffsetX;
  var shadowOffsetY;
  Tooltip? tooltip;

  Grid(
      {this.id,
      this.show,
      this.zlvel,
      this.z,
      this.left,
      this.top,
      this.right,
      this.bottom,
      this.width,
      this.height,
      this.containLabel,
      this.backgroundColor,
      this.borderColor,
      this.borderWidth,
      this.shadowBlur,
      this.shadowColor,
      this.shadowOffsetX,
      this.shadowOffsetY,
      this.tooltip});

  factory Grid.fromJson(Map<String, dynamic> json) => _$GridFromJson(json);

  Map<String, dynamic> toJson() => _$GridToJson(this);
}
